Shell State

<#5267#> The possible values for the <#2783#>contact-state<#2783#> of a shell differ slightly from those of ordinary contacts. Because the parent of a shell is always a <#2784#>root<#2784#>, a shell does not have a geometry manager in the usual sense. Instead, a window manager client will typically allow the user to define control the geometry of shells and other top-level windows interactively. Shell states, therefore, correspond to the top-level window states defined in [#icccm##1###]:

:withdrawn The shell is invisible and unavailable for input.
;SPMnbsp; ;SPMnbsp;
:iconic Same as :withdrawn, except that the window manager may display an alternate visual representation of the shell (for example, an icon). The exact nature (and even the existence) of this alternate representation depends on the window manager.
;SPMnbsp; ;SPMnbsp;
:mapped The shell is in its ``normal'' state --- mapped and available for input.
;SPMnbsp; ;SPMnbsp;

Mapping (or ``popping up'') a shell means setting its state to <#2796#>:mapped<#2796#>. Unmapping (or ``popping down'') a shell means setting its state to <#2799#>:iconic<#2799#> or <#2800#>:withdrawn<#2800#>. Mapping a shell causes its <#2801#>:map<#2801#> callback to be invoked. Similarly, unmapping a shell invokes its <#2802#>:unmap<#2802#> callback. These callbacks allow the application programmer to change the contents of a shell before it is mapped or after it is unmapped. The required argument list for each of these callbacks is shown below.

<#4706#> <#4449#><#2803#>:map Callback, shell<#2803#><#4449#>

#tex2html_wrap_inline10340#
<#4706#>

#tex2html_wrap_inline10342#

<#4707#> <#4452#><#2816#>:unmap Callback, shell<#2816#><#4452#>

#tex2html_wrap_inline10343#
<#4707#>

#tex2html_wrap_inline10345#

=0 <#5273#>=0 <#5277#>